package com.base.card.domain.bo;
import com.base.common.core.domain.BaseEntity;
import com.base.common.core.validate.AddGroup;
import com.base.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;


/**
 * 密码卡业务对象 t_crypt_card
 *
 * @author base
 * @date 2023-10-17
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TCryptCardBo extends BaseEntity {

    /**
     * 卡编码(初始+3位数字自增)
     */
    @NotBlank(message = "卡编码(初始+3位数字自增)不能为空", groups = { EditGroup.class })
    private String cardCode;

    /**
     * 使用者信息
     */
    @NotBlank(message = "使用者信息不能为空", groups = { AddGroup.class, EditGroup.class })
    private String userInfo;

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pubkey;

    /**
     * 密码卡起始索引(默认1)
     */
    @NotNull(message = "密码卡起始索引(默认1)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long cardStartIdx;

    /**
     * 密码卡结束索引(默认100)
     */
    @NotNull(message = "密码卡结束索引(默认100)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long cardEndIdx;

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private String operator;

    /**
     *
     */
    @NotBlank(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 使用状态(1-在用、2-备用、3-维修、4-废弃)
     */
    @NotBlank(message = "使用状态(1-在用、2-备用、3-维修、4-废弃)不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;


}
